package com.tj.collection.service.dto;

import com.fqgj.common.api.ResponseData;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;

public class DeviceContactDataVO implements ResponseData {

    private List<DeviceContactVO> contacts;//通讯录
    private List<DeviceCallVO> calls;//通话记录 oss原始记录
    private List<DeviceSmsVO> smsList;//短信记录 oss原始记录
    private PhoneCallRecordVO phoneCallRecordVO;//通话记录
    private SmsRecordVO smsRecordVO;// 短信记录
    private List<DeviceContactVO> riskDeviceContactList;//高风险联系人
    private String shuMeiUrl;

    private Integer contactType;//紧急联系人于通讯录类型，0，不在通讯录和通话记录，1在通讯录且姓名匹配，2在通讯录姓名不匹配或不在通讯录在通话记录

    private Integer totalNum = 0;//记录数

    private Integer relativeNum = 0;//亲戚数

    private Integer riskNum = 0;//异常数

    private Integer jdbNum = 0;

    private boolean sysReject = false;//是否拒绝

    private String realName;//真实姓名

    private String mobile;//电话

    private String type;
    private Long borrowBillId;

    private Boolean contactHitApplyMobile = false;//是否含有申请人本人的号码吗
    private String contactApplyMobileName;

    private Boolean callHitApplyMobile = false;//是否含有申请人本人的号码吗
    private String callApplyMobileName;

    public String getShuMeiUrl() {
        return shuMeiUrl;
    }

    public DeviceContactDataVO setShuMeiUrl(String shuMeiUrl) {
        this.shuMeiUrl = shuMeiUrl;
        return this;
    }

    public List<DeviceSmsVO> getSmsList() {
        return smsList;
    }

    public void setSmsList(List<DeviceSmsVO> smsList) {
        this.smsList = smsList;
    }

    public SmsRecordVO getSmsRecordVO() {
        return smsRecordVO;
    }

    public void setSmsRecordVO(SmsRecordVO smsRecordVO) {
        this.smsRecordVO = smsRecordVO;
    }

    public Integer getJdbNum() {
        return jdbNum;
    }

    public void setJdbNum(Integer jdbNum) {
        this.jdbNum = jdbNum;
    }

    public Boolean getContactHitApplyMobile() {
        return contactHitApplyMobile;
    }

    public DeviceContactDataVO setContactHitApplyMobile(Boolean contactHitApplyMobile) {
        this.contactHitApplyMobile = contactHitApplyMobile;
        return this;
    }

    public Boolean getCallHitApplyMobile() {
        return callHitApplyMobile;
    }

    public DeviceContactDataVO setCallHitApplyMobile(Boolean callHitApplyMobile) {
        this.callHitApplyMobile = callHitApplyMobile;
        return this;
    }

    public String getContactApplyMobileName() {
        return contactApplyMobileName;
    }

    public DeviceContactDataVO setContactApplyMobileName(String contactApplyMobileName) {
        if (StringUtils.isNotEmpty(this.contactApplyMobileName)) {
            this.contactApplyMobileName = this.contactApplyMobileName + "；" + contactApplyMobileName;
        } else {
            this.contactApplyMobileName = contactApplyMobileName;
        }
        return this;
    }

    public String getCallApplyMobileName() {
        return callApplyMobileName;
    }

    public DeviceContactDataVO setCallApplyMobileName(String callApplyMobileName) {
        if (StringUtils.isNotEmpty(this.callApplyMobileName)) {
            this.callApplyMobileName = this.callApplyMobileName + "；" + callApplyMobileName;
        } else {
            this.callApplyMobileName = callApplyMobileName;
        }
        return this;
    }

    public String getType() {
        return type;
    }

    public DeviceContactDataVO setType(String type) {
        this.type = type;
        return this;
    }

    public Long getBorrowBillId() {
        return borrowBillId;
    }

    public DeviceContactDataVO setBorrowBillId(Long borrowBillId) {
        this.borrowBillId = borrowBillId;
        return this;
    }

    public List<DeviceContactVO> getContacts() {
        return contacts;
    }

    public void setContacts(List<DeviceContactVO> contacts) {
        this.contacts = contacts;
    }

    public List<DeviceCallVO> getCalls() {
        return calls;
    }

    public void setCalls(List<DeviceCallVO> calls) {
        this.calls = calls;
    }

    public void addContact(DeviceContactVO contact) {
        if (this.contacts == null) {
            this.contacts = new ArrayList<DeviceContactVO>();
        }
        this.contacts.add(contact);
    }

    public void addCall(DeviceCallVO call) {
        if (this.calls == null) {
            this.calls = new ArrayList<DeviceCallVO>();
        }
        this.calls.add(call);
    }


    public List<DeviceContactVO> getRiskDeviceContactList() {
        return riskDeviceContactList;
    }

    public void setRiskDeviceContactList(List<DeviceContactVO> riskDeviceContactList) {
        this.riskDeviceContactList = riskDeviceContactList;
    }

    public Integer getContactType() {
        return contactType;
    }

    public void setContactType(Integer contactType) {
        this.contactType = contactType;
    }

    public Integer getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(Integer totalNum) {
        this.totalNum = totalNum;
    }

    public Integer getRelativeNum() {
        return relativeNum;
    }

    public void setRelativeNum(Integer relativeNum) {
        this.relativeNum = relativeNum;
    }

    public Integer getRiskNum() {
        return riskNum;
    }

    public void setRiskNum(Integer riskNum) {
        this.riskNum = riskNum;
    }

    public boolean isSysReject() {
        return sysReject;
    }

    public void setSysReject(boolean sysReject) {
        this.sysReject = sysReject;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public PhoneCallRecordVO getPhoneCallRecordVO() {
        return phoneCallRecordVO;
    }

    public DeviceContactDataVO setPhoneCallRecordVO(PhoneCallRecordVO phoneCallRecordVO) {
        this.phoneCallRecordVO = phoneCallRecordVO;
        return this;
    }
}
